package cn.xeblog.plugin.game.chess2.enums;

public enum BoardDirection {
    /**
     * 正常的
     */
    NORMAL {
        @Override
        boolean isNormal() {
            return true;
        }

        @Override
        BoardDirection opposite() {
            return FLIPPED;
        }
    },
    /**
     * 翻转
     */
    FLIPPED {
        @Override
        boolean isNormal() {
            return false;
        }

        @Override
        BoardDirection opposite() {
            return NORMAL;
        }
    };

    /**
     * 是否标准的
     *
     * @return true, 标准，否则，false
     */
    abstract boolean isNormal();

    /**
     * 对手
     *
     * @return 对手所属方向（正常或翻转）
     */
    abstract BoardDirection opposite();
}

